-
Notifications
You must be signed in to change notification settings - Fork 568
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FIX: Bring pk_ops.h back as public header #3879
Conversation
1185a9e
to
a3ae3cd
Compare
d6676ec
to
ad34def
Compare
Do we really have to make And while |
Yeah, user convenience was the only reasoning. And I actually had my doubts, because the interplay between the base-classes in I can't work on that today anymore, though. Will rework this first thing tomorrow. |
ad34def
to
5910959
Compare
5910959
to
6eb0193
Compare
This now brings back Also, I previously forgot to annotate the classes in |
ab9745d
to
5aef1ff
Compare
src/lib/pubkey/pk_ops.h
Outdated
@@ -33,7 +38,7 @@ namespace PK_Ops { | |||
/** | |||
* Public key encryption interface | |||
*/ | |||
class Encryption { | |||
class BOTAN_PUBLIC_API(3, 3) Encryption { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These should be BOTAN_UNSTABLE_API
.
Using this interface requires deriving, which is not covered by our current SemVer guarantee (doc/sem_ver.rst
) and already I know we have to change at least the decryption API to support some side channel mitigations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
It used to be public in Botan 2.x but was removed from the public interface in Botan 3.x. Though, this header is needed by applications that wish to implement custom public-key algorithms. Closes randombit#3878
This also acts as a regression test for the ability of applications to implement custom public-key algorithms.
5aef1ff
to
afc7bf7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks
See #3878 for details.
This also adds a new example, with three objectives: